public class Solution1 {
    //1.开始没有任何零钱
    //2.要考虑顺序

    //思路分析：分情况讨论
    //5-》直接收下   10-》找五块（需判断有没有），收下
    //20-》(1)找10+5  （2）找5+5+5  （有分歧考虑贪心）
    //贪心思想：优先保留5块钱，也就是20优先考虑（1）10+5的情况
    public boolean lemonadeChange(int[] bills) {
        //记录5块钱和10块钱的个数
        int five = 0,ten =0;
        for(int x:bills) {
            if(x==5) {
                five++;
            } else if(x==10) {
                if(five==0) return false;
                ten++;
                five--;
            } else {
                if(five!=0&&ten!=0) {
                    five--;
                    ten--;
                } else if(five>=3) {
                    five -=3;
                } else {
                    return false;
                }
            }
        }
        return true;
    }
}
